home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / lzwlib / lzwout.c < prev    next >
Text File  |  1992-03-16  |  1KB  |  59 lines

  1. #include <stdio.h>
  2. #include <dos.h>
  3. #include <string.h>
  4. #include <lzw.h>
  5.  
  6. char mask[13] = "*.*";
  7.  
  8. void main(int,char **);
  9.  
  10. void main(int argc, char **argv)
  11. {
  12.  
  13.    char lzw_pathfile[80];
  14.    int i;
  15.    unsigned long options = 1L;     // EXTRACT ALWAYS
  16.  
  17.    argc--;
  18.    argv++;
  19.    if (!argc){
  20.      puts("USAGE: lzwin <lzw_pathfile> [mask] [-c -n] ");
  21.      puts("       Where -c = Create saved directories and");
  22.      puts("             -n = DO NOT overwrite existing files.");
  23.      exit(1);
  24.    }
  25.    strcpy(lzw_pathfile,*argv);
  26.  
  27.    argc--;
  28.    argv++;
  29.    for (i=0 ; i < argc ; i++)
  30.      switch(argv[i][0]){
  31.        case '-': if (tolower(argv[i][1]) == 'c')
  32.            options |= CREATEDIRS;
  33.          else if (tolower(argv[i][1]) == 'n')
  34.            options |= NOOVERWRITE;
  35.                  break;
  36.         default: strcpy(mask,argv[i]);
  37.      }
  38.  
  39.    //  INITIALIZATION
  40.    //
  41.    puts("Initialization...");
  42.    lzw_init();
  43.  
  44.    puts("Decoding...");
  45.    if (unlzw(lzw_pathfile,options,mask)){
  46.      puts("Decoding error.");
  47.      exit(1);
  48.    }
  49.    printf("End decoding...\n");
  50.  
  51.    //  DEINITIALIZATION
  52.    //
  53.    printf("Deinitialization.");
  54.    lzw_deinit();
  55.  
  56.    exit(0);
  57. }
  58.  
  59.